package com.sinven.service;

import java.util.Date;
import java.util.List;

import com.sinven.pojo.Article;
import com.sinven.pojo.Columntype;
import com.sinven.util.PageBean;

public interface ArticleService {

	boolean AddArticle(Article article) throws Exception;// 添加文章

	boolean DeletedSelfArticle(int a_id) throws Exception;// 自己删除文章的方法

	boolean DeletedLockArticle(int a_id) throws Exception;// 管理员删除文章

	boolean UpdateState(int a_id,int state) throws Exception;//修改文章状态

	boolean Delete(int a_id) throws Exception;// 完全删除

	boolean DeletedUserRecycle(int a_authorId) throws Exception;// 清空个人回收站

	boolean DeletedLockRecycle(int a_authorId) throws Exception;// 清空管理员删除的异常

	boolean UpdataArticle(Article article) throws Exception;// 按照id修改

	Article SelectArticleContent(long a_id) throws Exception;// 查询文章内容

	int SelectlUserArticleCount(int a_columnId) throws Exception;// 查询一个人的文章总数

	List<Article> SelectArticleBypostTime() throws Exception;// 查询文章 按照时间先后查询

	PageBean<Article> SelectArticleBypostTimeAndstate(int state,int pageNum,int pageSize);// 查询文章 按照时间先后状态查询

	List<Columntype> SelectColumntype() throws Exception;// 查询文章类型

	List<Article> SelectArticleBypostTimeAndType(int a_columnId) throws Exception;// 查询文章 按照时间先后与文章类型查询

	List<Article> SelectArticleByArticleSearchText(String articleSearchText) throws Exception;// 查询文章 按照搜索框查询

	PageBean<Article> SelectArticleById(int a_authorId, int pageNum, int pageSize) throws Exception;// 查询文章 按照用户id查

	List<Article> SelectArticleById(Integer u_id) throws Exception;// 查询文章 按照用户id查
	
	boolean AddPageview(int a_id) throws Exception;// 按照文章id 阅读人数++；

	List<Article> SelectPersonalDeleted(int a_authorId) throws Exception;// 查询显示 个人删除文章根据文章状态查询所有文章 0未发布 1成功发布 2个人删除
																			// 3管理员删除

	List<Article> SelectNotRelease(int a_authorId) throws Exception;// 查询显示 未发布文章

	boolean ReductionArticle(int a_id) throws Exception;// 还原一个文章

	
}
